﻿using SMS.Domain.Entities;
using System;
using System.Collections.Generic;
using System.Data.Entity.ModelConfiguration;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace SMS.Domain.Concrete.Mapping
{
    class UserOngEntityTypeConfiguration : EntityTypeConfiguration<UserOng>
    {
        public UserOngEntityTypeConfiguration()
        {
            this.ToTable("UsersOng");
            //Indicamos clave primaría
            this.HasKey(us => us.UserOngId);
            /*Para poder usar la Herencia por jerarquía (TPH), es necesario crear un campo que indique el tipo de objeto 
             * (en nuestro caso TipoUsuario,indica si es ong o sms) y asignarle un valor. Cuando creemo un objeto UserOng o
             * UserSms no será necesario asignar el campo TipoUsuario, puesto que se encarga EF.*/
            //this.Map<UserOng>(us =>
            //        {
            //            us.Requires("TipoUsuario")
            //                .HasValue("ONG");
            //        })
            //    .Map<UserSMS>(us =>
            //        {
            //            us.Requires("TipoUsuario")
            //                .HasValue("SMS");
            //        });


        }
    }
}
